# Create your views here.

from django.db.models import Q, Max
from django.shortcuts import render_to_response, get_object_or_404
from widpy.data.models import * 
from django.http import HttpResponse
from django.template import Context, loader
import random


def add_widget(request,w_id):
	usuario_id = request.user.id
	is_auth = request.user.is_authenticated()
	add = get_object_or_404(Widget, pk=w_id)
	idpestanha = Pestanha.objects.get(Q(estado=1) & Q(user=usuario_id))

	p = Pestxwidxparam(pestanha=idpestanha,widget=add,nrocolumna='1',nrocajacontenedora='3',altura='120')
	p.save() 
	
	return render_to_response('webpage/inicio.html')	

def inicio_registrados(request):
	usuario_id = request.user.id
	is_auth = request.user.is_authenticated()
	idpest = Q(usuario__id__icontains=2) & Q(estado__icontains=1)
	idpestanha = Pestanha.objects.get(idpest)
	listarpestanhas = Pestanha.objects.filter(usuario=usuario_id)
	item = Pestxwidxparam.objects.filter(pestanha=idpestanha)
	
	user_id = request.user.id
	is_auth = request.user.is_authenticated()
	#cluser =  Q(id__icontains=user_id)
	#if cluser:
	#   ituser = User.objects.filter(cluser).distinct()
	pesactual = 0
	des=0
	administ=0
	superadmin=0
	grupo = 0
	if(is_auth):
		tipouser = User.objects.get(id=user_id)

	if (des):
        grupo = grupo + 1
        des = 1
    else:
        des = 0
    if (administ):
        grupo = grupo + 1
        des = 0
        administ = 1
    else:
        administ = 0
    if (request.user.is_superuser):
        grupo = grupo + 1
        des = 0
        administ = 0
        superadmin = 1
    else:
        superadmin = 0
	#si el usuario esta autenticado:
	if(is_auth):
		clause =  Q(usuario__id__icontains=user_id)
		items = Pestanha.objects.filter(clause).order_by("id")
		b = Pestanha.objects.filter(usuario=user_id).count()
		pes = Q(usuario__id__icontains=user_id) & Q(estado__icontains=1)
		pesactual = Pestanha.objects.filter(pes).distinct()
		buscartema = Pestanha.objects.get(usuario__id__icontains=user_id, estado=1)
		p = Tema.objects.get(id=buscartema.tema_id)
		if(b <= 1):
			b=0
		
		if tipousuario == 2:
			des=1
		elif tipousuario == 3:
			administ=1
		elif tipousuario == 4:
			superadmin=1
	#else:
	#   clause =  Q(usuario__id__icontains=1)
	#   items = Pestanha.objects.filter(clause).distinct()
	#   b = Pestanha.objects.filter(usuario=1).count()
	#   buscartema = Pestanha.objects.get(usuario__id__icontains=1, estado=1)
	#Para evitar que se muestre "borrar pestanha" cuando solo hay 1 pestanha
	
	if(is_auth):
		return render_to_response('webpage/inicio.html', 
		{'pes': items, 'cant_pes':b, 'user_id':user_id, 'is_auth':is_auth, 'tabactual' : buscartema.id, 'temaurl': p.url,
		'desarrollador' : des, 'admin' : administ, 'superadmin' : superadmin, 'nombreuser': tipouser.username,
		'items': item, 'idpestanha': listarpestanhas, 'cantidadcolumna': idpestanha.layout.cantidadcolumnas, 'modelo': idpestanha.layout.modelodecolumna, 'grupo': grupo})
	return render_to_response('webpage/inicio.html', 
		{'user_id':user_id, 'is_auth':is_auth,'desarrollador' : des, 'admin' : administ, 'superadmin' : superadmin,
		'items': item, 'idpestanha': listarpestanhas, 'cantidadcolumna': idpestanha.layout.cantidadcolumnas, 'modelo': idpestanha.layout.modelodecolumna, 'grupo': grupo})
	
	#return render_to_response('webpage/inicio.html', {'items': item, 'idpestanha': listarpestanhas, 'cantidadcolumna': idpestanha.layout.cantidadcolumnas, 'modelo': idpestanha.layout.modelodecolumna})

def editcolumna(request):
	usuario_id = request.user.id
	is_auth = request.user.is_authenticated()
	cantidadcol = request.GET.get('column', '')
	modelo = request.GET.get('numerocolumna', '')
	pestactiva = Pestanha.objects.get(Q(estado=1) & Q(usuario=usuario_id))
	cantidadcolcambiar = pestactiva.layout.cantidadcolumnas
	limitadorcantidadcol=0
	randomcol=0		
	cont=0
	valor=3
	mod=2
		
	if cantidadcol == '1':
		valor=1
		if cantidadcolcambiar != 1:
			for listcol in Pestxwidxparam.objects.filter(pestanha=pestactiva):
				if listcol.nrocolumna != 1 :
					listcol.nrocolumna = 1
					listcol.save()

	if cantidadcol == '2':
		valor=2
		if cantidadcolcambiar == 1:
			for listcol in Pestxwidxparam.objects.filter(pestanha=pestactiva):
				if cont == 1 :
					listcol.nrocolumna = 2
					listcol.save()
					cont=0
				if cont == 0 :
					cont=1

		if cantidadcolcambiar == 3:
			for listcol in Pestxwidxparam.objects.filter(pestanha=pestactiva):
				cont = random.randint(1, 2)
				if listcol.nrocolumna == 3 :
					listcol.nrocolumna = 2
					listcol.save()

								
	if cantidadcol == '3':
		valor=3
		if cantidadcolcambiar == 2:
			randomcol = random.randint(1, 2)
			for listcol in Pestxwidxparam.objects.filter(pestanha=pestactiva):
				cont = random.randint(0, 1)
				if listcol.nrocolumna == randomcol :
					if cont == 1 :
						listcol.nrocolumna = 3
						listcol.save()

		if cantidadcolcambiar == 1:
			for listcol in Pestxwidxparam.objects.filter(pestanha=pestactiva):
				cont = random.randint(1, 3)
				if limitadorcantidadcol == 0:
					limitadorcantidadcol = limitadorcantidadcol + 1
					listcol.nrocolumna = 1
					listcol.save()

				if limitadorcantidadcol == 1:
					limitadorcantidadcol = limitadorcantidadcol + 1
					listcol.nrocolumna = 2
					listcol.save()

				if limitadorcantidadcol == 2:
					limitadorcantidadcol = limitadorcantidadcol + 1
					listcol.nrocolumna = 3
					listcol.save()
					
				if listcol.nrocolumna == 1 :
					listcol.nrocolumna = cont
					listcol.save()

	if modelo == '1':
		mod=1
	if modelo == '2':
		mod=2
	if modelo == '3':
		mod=3
	idlayout = Layout.objects.get(Q(cantidadcolumnas=valor) & Q(modelodecolumna=mod))
	pestactiva.layout = idlayout
	pestactiva.save()   

	return render_to_response('widget/editpestanha.html')	


def refreshpestanha(request,p_id):   
	usuario_id = request.user.id
	is_auth = request.user.is_authenticated()
	idpestinicial = Pestanha.objects.get(Q(estado=1) & Q(usuario=usuario_id))
	idpestinicial.estado = 0
	idpestinicial.save()
	idpestactual = Pestanha.objects.get(id=p_id)
	idpestactual.estado = 1
	idpestactual.save()

	items = Pestxwidxparam.objects.filter(pestanha=idpestactual)
  
	return render_to_response('webpage/inicio.html', {'items': items, 'idpestanha': listarpestanhas, 'cantidadcolumna': idpestactual.layout.cantidadcolumnas, 'modelo': idpestactual.layout.modelodecolumna})	

